home *** CD-ROM | disk | FTP | other *** search
- Release Notes for VB/DLL. The Visual Basic library builder.
-
- 1.5 - Existing library programs will have to be re-built before they will
- work with this version. Future versions of the product will be
- backwardly compatible to libraries built with this version.
-
- 1) Multiple functions can now be exported from a single instance of
- the control. Functions declarations are no longer defined using the
- VB properties window. The Edit Declarations dialog in the Library
- Manager program is now set up to do this. It's executed by either
- clicking the right mouse button on a control or by clicking the '...' box
- on the Edit Declarations property. The ShowCode property has been
- eliminated. This can now be done using the "Show Code" button in the
- Library Manager program. Because of this change, an additional
- string parameter indicating the function name executed must now be
- passed to the Call_Proc event procedure. See item 2 in the 1.25
- section for instructions on updating your CallProc event procedures to
- accept the new parameter. The total size of all the function
- declarations for a control instance cannot exceed 64K.
-
- 2) The FireUnloadEvent property and the UnloadLibrary event no
- longer exist. Instead, library programs can now export a function
- called "UnloadVbLib" that will be called when all the callers unload.
- This allows libraries to be unloaded by any program. The function
- must be defined as accepting one integer parameter. This parameter
- indicates whether or not the library program was started by the VBX
- control. It will be either 0 or -1. If False, then it may have been
- started directly by a user and probably shouldn't be shut down.
- Because of the missing FireUnloadEvent property, forms with
- VBDLLCTL controls that were built with a previous version will
- generate errors when they're loaded. These can be ignored. Also, any
- code for a VBDLLCTL control that was in the UnloadLibrary event
- will now be in a general procedure for the form the control was in.
- This is because the event no longer exists. Usually, this code will be
- moved to the "UnloadVbLib" function and these procedures deleted.
-
- 3) VB/DLL functions can now accept VB variant data types. For now,
- variant parameters must be declared As Variant in the Edit
- Declarations Dialog and cannot simply omit a type declaration
- character as is done in VB to indicate a variant type variable. This will
- be remedied in the complete, non-demo 1.5 version.
-
- 4) Two new stub functions for CopyParmsToVB and
- CopyParmsFromVB provide "variable number of parameters" support
- in the same fashion as VBFunction. They're called VCopyParmsToVB
- and VCopyParmsFromVB. The ShowCode window now generates the
- VB Declares for these as well as the VBFunction function. See the
- on-line help for how to use.
-
- 5) The VBFunction function now displays VB/DLL errors in standard
- VB run time error message boxes instead of creating a "Bad DLL
- Calling Convention" error.
-
- 6) Right button mouse support has been added for design-time
- instances of the control. Clicking the right button on a control
- instance will activate the Edit Declarations Dialog.
-
-
- 1.25
-
- 1) The VB parameter type String * Length is now supported for
- library functions, indicating that a buffer of a specific length will be
- passed. This is mainly for C/Pascal callers.
- 2) The UnloadLibrary event now gets a parameter that indicates
- whether or not the library program was started by the VBX control. If
- it wasn't, then it may have been started directly by a user and probably
- shouldn't be shut down. If a library program using a previous version
- of VB/DLL has code in this event, the code will have to be cut out,
- the function deleted and the code pasted back in. This will make the
- new parameter appear.
- 3) A bug has been fixed that causes a General Protection Fault when
- calling library functions that return a non-string value declared with a
- type phrase in the Declaration property instead of a type character (e.g
- ShowForm () As Integer instead of ShowForm% ().)
- 4) A new DLL function called VBFunction is exported from the VBX.
- Its purpose is to call VB/DLL library functions just like
- VBFunctionCall. The difference is that VBFunction can accept the
- function parameters on the stack eliminating the need for Type...End
- Type structures in the caller program. When things go wrong though,
- (like the function is not found) the caller will generally get a "Bad
- DLL Calling Convention" error instead of the normal codes passed
- back from VBFunctionCall. Look at the samples to see how this new
- function is used.
-
-
-
- 1.2
-
- 1) The ShowCode application is now called the Library Manager and
- has the capability to display loaded library programs and functions.
-
- 2) DLL files CLIENT.DLL and VBDLL.DLL, as well as the
- SpyWorks/VB files SBC.VBX and DWSPYDLL.DLL are no longer
- required. VBRUN300.DLL is still needed to run the Library Manager
- application but it doesn't need to be re-distributed. As a result the
- Library Builder takes up only about 30K of RAM when loaded. The
- files for re-distribution are now VBDLLCTL.VBX and
- DLLCTRL.EXE.
-
- 3) Parameter space for library function return values is no longer
- automatically allocated. Space for the function return value must now
- be allocated by the caller and passed as parameter 3 to
- VBFunctionCall. If no return value is desired, a 0 (NULL pointer)
- can be passed. This is a preliminary step to supporting user defined
- data types.
-
- 1.0
-
- 1) If the called library function yields processing to Windows, the
- VBFunctionCall function may time-out and return with an error.
- Yielding to Windows occurs when the library function executes a
- DoEvents statement, stops at a breakpoint, shows a modal form, or
- calls one of the Windows API functions that yield like GetMessage,
- PeekMessage, WaitMessage etc.
-
- 2) VB/DLL libraries do not support ByVal parameter passing.
-
- 3) The library application's title as entered in the Make Exe dialog
- should match the EXE name the caller passes into the
- VBFunctionCall function. This ensures that the library manager can
- locate a library that is loaded. in the Visual Basic environment.
-
-